<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>任务调度中心-登录</title>
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="format-detection" content="telephone=no">
    <meta http-equiv="Content-Security-Policy" content="frame-ancestors 'self';">
    <link rel="icon" href="/images/favicon.ico">
    <link rel="stylesheet" href="/lib/layui/css/layui.css?v=2.8.11" media="all">
    <!--[if lt IE 9]>
    <script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
    <script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>

    <![endif]-->
    <style>
        html, body {width: 100%;height: 100%;overflow: hidden}
        body {background: #006ad4;}
        body:after {content:'';background-repeat:no-repeat;background-size:cover;-webkit-filter:blur(3px);-moz-filter:blur(3px);-o-filter:blur(3px);-ms-filter:blur(3px);filter:blur(3px);position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;}
        .layui-container {width: 100%;height: 100%;overflow: hidden}
        .admin-login-background {width:360px;height:300px;position:absolute;left:50%;top:40%;margin-left:-180px;margin-top:-100px;}
        .logo-title {text-align:center;letter-spacing:2px;padding:14px 0;}
        .logo-title h1 {color:#006ad4;font-size:25px;font-weight:bold;}
        .login-form {background-color:#fff;border:1px solid #fff;border-radius:3px;padding:14px 20px;box-shadow:0 0 8px #eeeeee;}
        .login-form .layui-form-item {position:relative;}
        .login-form .layui-form-item label {position:absolute;left:1px;top:1px;width:38px;line-height:36px;text-align:center;color:#d2d2d2;}
        .login-form .layui-form-item input {padding-left:36px;}
        .captcha {width:60%;display:inline-block;}
        .captcha-img {display:inline-block;width:34%;float:right;}
        .captcha-img img {height:34px;border:1px solid #e6e6e6;height:36px;width:100%;}
    </style>
</head>
<body>
<div class="layui-container">
    <div class="admin-login-background">
        <div class="layui-form login-form">
            <form class="layui-form" action="">
                <div class="layui-form-item logo-title">
                    <h1>任务调度中心</h1>
                </div>
                <div class="layui-form-item">
                    <label class="layui-icon layui-icon-username"></label>
                    <input type="text" name="username" lay-verify="required|account" placeholder="用户名" autocomplete="off" class="layui-input">
                </div>
                <div class="layui-form-item">
                    <label class="layui-icon layui-icon-password"></label>
                    <input type="password" name="password" lay-verify="required|password" placeholder="密码" autocomplete="off" class="layui-input" lay-affix="eye">
                </div>
                <div class="layui-form-item" style="top: 10px">
                    <button class="layui-btn layui-btn layui-btn-fluid" lay-submit lay-filter="login" id="login">登 录</button>
                </div>
            </form>
        </div>
    </div>
</div>
<script src="/lib/jquery/jquery-2.1.4.min.js" charset="utf-8"></script>
<script src="/lib/jq-module/jquery.particleground.min.js" charset="utf-8"></script>
<script src="/lib/crypto/sha256.js?v=2.0.0" charset="utf-8"></script>
<script src="/lib/layui/layui.js?v=2.8.11" charset="utf-8"></script>
<script src="/js/lay-config.js?v=2.0.0" charset="utf-8"></script>
<script src="/js/common.js?v=2.0.0" charset="utf-8"></script>
<script>
    var salt = "W%o$gxG6Nbbg+S4@W5&9VQeud&2O1^V8&We^YwhX-1N+_m7&KQ#JJ@a+UX9Rr5Bk";

    layui.use(['form', 'miniAjax', 'layer'], function () {
        var $ = layui.jquery,
            form = layui.form,
            layer = layui.layer,
            miniAjax = layui.miniAjax;

        // 安全的iframe检测和处理
        function checkIframeSecurity() {
            try {
                // 检查是否在iframe中
                if (self !== top) {
                    // 检查是否同源
                    if (top.location.hostname !== self.location.hostname) {
                        // 不同源，安全地跳出iframe
                        // 使用replace而不是直接赋值，避免可能的漏洞
                        top.location.replace(self.location.href);
                    }
                    // 同源情况下不需要跳出，可以正常在iframe中运行
                }
            } catch (e) {
                // 如果由于同源策略无法访问top.location，说明被不同源页面嵌入
                // 安全地跳出iframe
                top.location.replace(self.location.href);
            }
        }

        // 执行iframe安全检查
        checkIframeSecurity();

        // 粒子线条背景
        $(document).ready(function(){
            $('.layui-container').particleground({
                dotColor:'#7ec7fd',
                lineColor:'#7ec7fd'
            });
        });

        // 进行登录操作
        form.on('submit(login)', function (data) {
            data = data.field;
            if (data.username == '') {
                layer.msg('用户名不能为空');
                return false;
            }
            if (data.password == '') {
                layer.msg('密码不能为空');
                return false;
            }
            // 加密
            data.password = hex_sha256(data.password + salt);

            startLoading();
            miniAjax.postJSON({
                url: '/auth/login',
                data: JSON.stringify(data),
                success: function (res) {
                    stopLoading();
                    if (res.code == 0) {
                        sessionStorage.setItem('token', res.data);
                        sessionStorage.setItem('username', data.username);
                        layer.msg('登录成功，欢迎回来!', {
                            time: 1000
                        }, function () {
                            window.location = '/';
                        });
                    } else {
                        layer.msg(res.msg, {time: 1000});
                    }
                },
                error: function (res) {
                    stopLoading();
                    layer.msg(res, {time: 1000, icon: 2});
                }
            });
            return false;
        });
    });

    function startLoading() {
        var loginBtn = document.querySelector('#login');
        loginBtn.classList.add('layui-disabled');
        loginBtn.setAttribute('disabled', true);
        loginBtn.innerHTML = '<span>登录中</span><i class="layui-icon layui-icon-loading layui-anim layui-anim-rotate layui-anim-loop"></i>';
    }

    function stopLoading() {
        var loginBtn = document.querySelector('#login');
        loginBtn.classList.remove('layui-disabled');
        loginBtn.removeAttribute('disabled');
        loginBtn.innerHTML = '<span>登 录</span>';
    }
</script>
</body>
</html>